Modern computer and data processing systems manage and store large amounts of data. As an example, financial service industry businesses such as banks, mutual fund companies, or the like, often operate complex data processing systems and networks that require access to many hundreds of gigabytes or even terabytes of data. Data storage system developers have responded to these types of data storage requirements by integrating large capacity data storage systems known as storage arrays, as well as data communications devices and computer systems into networks called “storage networks” or “storage area networks” (“SANs”).
In general, a storage area network includes data storage devices, such as disk array controllers and tape libraries, attached to servers, commonly referred to as host computers (“hosts”), via a communication infrastructure, such as a switching fabric. A storage area network also includes a SAN-management application, which manages resources in the storage area network to allow efficient operation of connections in the communication infrastructure, the storage devices, and host computers so that data transfers are secure and robust. An important characteristic of a storage area network is that the storage devices are generally available to multiple hosts at the same time, which helps make a storage area network scalable and flexible.
The host computers of a respective storage area network access data stored in respective data storage devices on behalf of client computers that request data. For example, according to conventional techniques, upon receiving a storage access request, a respective host computer in a storage area network accesses a large repository of storage through a switching fabric on behalf of a corresponding requesting client. An access can include a read or write of data to storage.
A typical conventional SAN-management software application may have several different software components or processes that execute independently of each other in a distributed manner on different computer systems but that collectively interoperate together to perform network management. As an example, conventional designs of SAN-management applications can include console, server, agent, and storage or database management software components or processes that each perform a specific role in storage area network management.
Generally, the server component or process operates as a central control process within the SAN-management application and coordinates communication between the console, storage, and agent components. The console component or process often executes within a dedicated SAN-management workstation to allow a network administrator (i.e., a person or people responsible for management of the storage area network) to visualize and remotely control and manage the various components within the storage area network that are displayed on a graphical user interface within a display on the console computer system. Agent components or processes may execute, for example, on the various host computer systems such as servers distributed throughout the storage area network to manage various types of SAN resources. As an example, there may be different respective agents specifically designed (e.g., coded in software) to remotely manage, control, and collect data from data storage systems, hosts, database applications, storage area network switches, and so forth.